layui.use(['table', 'admin', 'ax','laydate'], function () {
    var $ = layui.$;
    var table = layui.table;
    var $ax = layui.ax;
    var admin = layui.admin;
    var laydate = layui.laydate;

    laydate.render({
    	elem:'#startSingleTime'
        	,value:new Date()
    });
    
    laydate.render({
    	elem:'#endSinglePutTime'
        	,value:new Date()
    });

    /**
     * 拣货单明细表管理
     */
    var StorageOutDetailed = {
        tableId: "storageOutDetailedTable"
    };

    /**
     * 初始化表格的列
     */
    StorageOutDetailed.initColumn = function () {
        return [[
            {type: 'checkbox', fixed: 'left'},
            {field: 'storehouseName', sort: true, title: '仓库', style:'font-weight: 600;'},
            {field: 'storageOutName', sort: true, title: '拣货人员', style:'background-color: #ecf5ff;font-weight: 600;', totalRowText: '合计：'},
            {field: 'realNum', sort: true, title: '实际数量', style:'background-color: #dbf1e1;font-weight: 600;', totalRow: true},
            {field: 'storageWeight', sort: true, title: '重量', totalRow: true},
            {field: 'storageVolume', sort: true, title: '体积', totalRow: true},
            {field: 'storageMoney', sort: true, title: '金额', totalRow: true},
            {field: 'count', sort: true, title: '行数', totalRow: true},
        ]];
    };

    /**
     * 点击查询按钮
     */
    StorageOutDetailed.search = function () {
        var queryData = {};
        queryData['condition'] = $("#condition").val();
        queryData['outStorehouseId'] = $("#outStorehouseId").val();
        queryData['startSingleTime'] = $("#startSingleTime").val();
        queryData['endSinglePutTime'] = $("#endSinglePutTime").val();
        table.reload(StorageOutDetailed.tableId, {
            where: queryData, page: {curr: 1},
			done: function (res, curr, count) {
				merge(res);
			}
        });
    };

    /**
     * 导出excel按钮
     */
    StorageOutDetailed.exportExcel = function () {
        var checkRows = table.checkStatus(StorageOutDetailed.tableId);
        if (checkRows.data.length === 0) {
            Feng.error("请选择要导出的数据");
        } else {
            table.exportFile(tableResult.config.id, checkRows.data, 'xls');
        }
    };

    // 渲染表格
    var tableResult = table.render({
        elem: '#' + StorageOutDetailed.tableId,
        url: Feng.ctxPath + '/storageOutDetailed/findjianxuanzuoyehuizong',
        page: false,
        limit: 1000,
        height: "full-60",
        toolbar: '#toolbarfrom',
        cellMinWidth: 100,
        totalRow: true ,//开启合计行
        cols: StorageOutDetailed.initColumn(),
		done: function (res, curr, count) {
			merge(res);
		}
    });

	function merge(res) {
			var data = res.data;
			console.log(data)
			var mergeIndex = 0;//定位需要添加合并属性的行数
			var mark = 1; //这里涉及到简单的运算，mark是计算每次需要合并的格子数
			var columsName = ['storehouseName'];//需要合并的列名称
			var columsIndex = [1];//需要合并的列索引值
 
			for (var k = 0; k < columsName.length; k++) { //这里循环所有要合并的列
				var trArr = $(".layui-table-body>.layui-table").find("tr");//所有行
				for (var i = 1; i < res.data.length; i++) { //这里循环表格当前的数据
					var tdCurArr = trArr.eq(i).find("td").eq(columsIndex[k]);//获取当前行的当前列
					var tdPreArr = trArr.eq(mergeIndex).find("td").eq(columsIndex[k]);//获取相同列的第一列
					if (data[i][columsName[k]] === data[i - 1][columsName[k]]) { //后一行的值与前一行的值做比较，相同就需要合并
						mark += 1;
						tdPreArr.each(function () {//相同列的第一列增加rowspan属性
							$(this).attr("rowspan", mark);
						});
						tdCurArr.each(function () {//当前行隐藏
							$(this).css("display", "none");
						});
					} else {
						mergeIndex = i;
						mark = 1;//一旦前后两行的值不一样了，那么需要合并的格子数mark就需要重新计算
					}
				}
				mergeIndex = 0;
				mark = 1;
			}
	}

    // 搜索按钮点击事件
    $('#btnSearch').click(function () {
        StorageOutDetailed.search();
    });

    // 单击行事件
    table.on('row(' + StorageOutDetailed.tableId + ')', function (obj) {
		$('div[lay-id="' + StorageOutDetailed.tableId + '"]').find(".layui-table-body tr ").attr({ "style": "background:#FFFFFF" });//其他tr恢复原样
		$('div[lay-id="' + StorageOutDetailed.tableId + '"]').find(obj.tr.selector).attr({ "style": "background:#e6e6e6;" });//改变当前tr颜色
    });

    // 导出excel
    $('#btnExp').click(function () {
        StorageOutDetailed.exportExcel();
    });
});
